package model

import (
	"go.mongodb.org/mongo-driver/bson/primitive"
	"time"
)

type PurchaseFillAble struct {
	Link string `json:"link" bson:"link"`
}

type PurchaseIsDefault struct {
	IsDefault int `json:"isDefault" bson:"isDefault"`
}

func (Purchase) TableName() string {
	return "purchases"
}

func (Purchase) DbType() string {
	return "mongodb"
}

type Purchase struct {
	ID               uint      `json:"ID" bson:"id"`
	ItemID           int64     `json:"itemId" bson:"itemId"`
	SkuID            int       `json:"skuId" bson:"skuId"`
	OrderSn          string    `json:"orderSn" bson:"orderSn"`
	OrderID          int       `json:"orderId" bson:"orderId"`
	Type             int       `json:"type" bson:"type"`
	IsDefault        int       `json:"isDefault" bson:"isDefault"`
	Sort             int       `json:"sort" bson:"sort"`
	PurchaseFillAble `bson:",inline"`
	CreateAt         time.Time `json:"createAt" bson:"createAt"`
}

type PurchaseHexID struct {
	HexID primitive.ObjectID `bson:"_id"`
}